type EmptyObjext<T> = keyof T extends never ? true : false;
type AnyOf<T extends readonly any[]> = T extends [infer F, ...infer Rest]
  ? EmptyObjext<F> extends true
    ? false
    : F extends false | 0 | "" | []
    ? AnyOf<Rest>
    : true
  : false;

type Ao = AnyOf<[1, "", false, [], {}]>;
